Many techniques have been proposed for detecting commercials within television broadcasts. The accurate detection of commercials in a television broadcast is particularly important because it provides high-level program segmentation that other algorithms can use when processing program content. For example, after the commercials are detected in a previously recorded broadcast, the commercials can be skipped when replaying the recorded broadcast. One technique for detecting commercials generates signatures representing the audio of known commercials and then compares those signatures to the audio of a television broadcast. This technique, however, requires that the commercials be known in advance. Another technique is based in part on the detection of black frames that are used as separators between commercials and programs. The presence of black frames, especially when combined with other features of a broadcast, can be used effectively to identify commercial scenes within a broadcast. These other features may include rate of scene changes, edge change ratios, motion vector length, frame luminance, letterbox and key frame distances, and so on.
Many of the proposed techniques for detecting commercials, however, are computationally expensive and thus cannot be performed in real time with standard television equipment, such as a set-top box or standard personal computer. A standard MPEG-2 video decoder typically requires a 1 GHz processor to fully decode a video stream. A standard set-top box may only have a low-cost central processing unit that may be a 0.1 GHZ processor. With only 10% of the power needed to fully decode a video stream, such a standard set-top box cannot even fully decode an entire video stream in real time, let alone detect black frames after decoding fast enough to perform some action in real time relating to black frames.
It would be desirable to have a technique for reliably detecting black frames in a video stream in real time so that some action can be performed relating to the black frames.